` Лабораторна робота № 8
Тема роботи: Опрацювання структур.
Мета роботи: Здобути практичні навики опрацювання наборів різнотипних даних за допомогою відповідних структурних типів.
Методичні вказівки: 1. Проаналізувати дані, які мають бути опрацьовані в програмі, та визначити склад полів відповідної структури чи структур.
Оголосити шаблон (шаблони) структур і через декларацію typedef надати кожному шаблону наочне найменування.
Дані, що вводяться у процесі реалізації програми, занести в масив інформаційних структур. У разі введення даних дійсних типів, щоб уникнути помилки виконання функції scanf(), доцільно застосувати додаткову змінну, в яку заносити введені дійсні значення, а потім переписувати їх у відповідні поля структур.
Якщо задача передбачає використання певних довідкових даних, то доцільно сформувати з них додатковий масив, який проініціалізувати в програмі.
Для впорядкування структур застосувати один із методів сортування.
У звертаннях до полів структур обов’язково використати обидві операції: “крапка” та “стрілка”.
Виведення таблиці впорядкованих даних розпочати з виведення заголовка (“шапки” таблиці). Розрахувати й вибрати зручну для сприйняття ширину колонок таблиці та форму відображення даних.
Література: [2] . . [13] , [17] . . [18] .
Варіанти індивідуальних завдань
З клавіатури ввести набір даних з інформацією про наявність санаторних путівок: <Назва санаторію>, <Місце знаходження>, <Лікувальний профіль>, <Кількість путівок>. Роздрукувати введені дані у вигляді таблиці, згрупувавши їх за лікувальними профілями санаторіїв. У межах кожної групи дані відсортувати за назвами санаторіїв.
З клавіатури ввести послідовність адрес, кожна з яких задається структурою з полями: <Індекс>, <Місто>, <Вулиця>, <Будинок>. Відсортувати ведені дані у порядку зростання індексів та роздрукувати їх у формі таблиці. Визначити відсоток львівських адрес.
З клавіатури ввести послідовність даних про місячні результати роботи цеху: <Номер місяця>, <План>, <Фактичний випуск>. Роздрукувати введені дані у вигляді таблиці, відсортувавши їх у порядку зменшення відсотку виконання плану. В таблиці замінити номери місяців їхніми найменуваннями.
З клавіатури ввести набір даних у формі структур, що несуть інформацію про читачів бібліотеки: <Прізвище, ініціали>, <Рік народження>, <Стать>, <Адреса>. Роздрукувати введені дані у вигляді таблиці, відсортувавши їх за прізвищами читачів у абетковому порядку. Визначити найстаршого та наймолодшого читачів (якщо таких декілька, то вказати всіх).
З клавіатури ввести послідовність записів, які містять дані про результати сесії на курсі: <Порядковий номер>, <Група>, <Середній рейтинговий бал>. Роздрукувати введені дані у вигляді таблиці, відсортувавши їх у порядку спадання рейтингових балів. Окремо зазначити три групи напряму “Комп’ютерні науки” з найвищим середнім рейтинговим балом.
З клавіатури ввести набір структур з полями: <Ключ>, <Дані> (ключ – ціле число). Відсортувати введені записи за зростанням значень ключів. У відсортований масив ввести два нових записи так, щоб зберегти загальну впорядкованість масиву. Роздрукувати результуючий масив.
Задано масив довідкової інформації зі записами, що мають поля: <Код товару>, <Вартість>. З клавіатури ввести послідовність даних про надходження товарів: <Найменування товару>, <Код>, <Кількість> (дані про один і той самий товар можуть зустрічатись декілька разів). Сформувати масив з введених даних. За даними цих двох масивів роздрукувати зведений список у вигляді таблиці з колонками: <Код>, <Найменування товару>, <Кількість>, <Сумарна вартість>, відсортований за кодами товарів.
З клавіатури ввести набір даних про книги у формі: <Автор>, <Найменування>, <Видавництво>, <Рік видання>. Надрукувати введений список книг у вигляді таблиці, згрупувавши їх за роками видань у спадному порядку. Окремо вивести дані про книги з програмування в середовищі C/C++.
З клавіатури ввести послідовність даних про школярів – учасників спортивних змагань: <Прізвище, ім’я >, <...